package com.sogoodsoft.entity.crm;


import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import com.sogoodsoft.entity.IdEntity;
import com.sogoodsoft.entity.account.User;
import com.sogoodsoft.entity.app.SysClass;

/**
  *SMSTEMPLATE对象模型
  */
@Entity
@Table(name = "SMSTEMPLATE")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Smstemplate extends IdEntity  implements java.io.Serializable {
	private static final long serialVersionUID = 1L;
/** 模板名称 */
private String name;
/** 模板内容 */
private String template;
/** 模板创建者 */
private Long userid;
private String username;
/** 最后更新时间 */
private Date updatedate;
/** 模板分类 */
private Long category;


private SysClass sysClass;

/**
*获取模板名称
*@return 模板名称
*/
@Column(name = "NAME")
public String getName() {
return this.name;
}
/**
设置模板名称
*@param name 模板名称
*/
public void setName(String name) {
this.name = name;
}
/**
*获取模板内容
*@return 模板内容
*/
@Column(name = "TEMPLATE")
public String getTemplate() {
return this.template;
}
/**
设置模板内容
*@param template 模板内容
*/
public void setTemplate(String template) {
this.template = template;
}
/**
*获取模板创建者
*@return 模板创建者
*/
@Column(name = "USERID")
public Long getUserid() {
return this.userid;
}
/**
设置模板创建者
*@param userid 模板创建者
*/
public void setUserid(Long userid) {
this.userid = userid;
}
@Column(name = "USERNAME")
public String getUsername() {
	return username;
}
public void setUsername(String username) {
	this.username = username;
}
/**
*获取最后更新时间
*@return 最后更新时间
*/
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "UPDATEDATE")
public Date getUpdatedate() {
	if(updatedate==null)updatedate=new Date();
return this.updatedate;
}
/**
设置最后更新时间
*@param updatedate 最后更新时间
*/
public void setUpdatedate(Date updatedate) {
this.updatedate = updatedate;
}
/**
*获取模板分类
*@return 模板分类
*/
@Column(name = "CATEGORY" ,insertable=false,updatable=false)
public Long getCategory() {
return this.category;
}
/**
设置模板分类
*@param category 模板分类
*/
public void setCategory(Long category) {
this.category = category;
}


@ManyToOne(cascade={CascadeType.REFRESH,CascadeType.MERGE},optional=true)
@JoinColumn(name="CATEGORY")
public SysClass getSysClass() {
	return sysClass;
}
public void setSysClass(SysClass sysClass) {
	this.sysClass = sysClass;
}

}